原帖地址：[http://blog.leanote.com/post/dawnmagnet/lc1074](http://blog.leanot
e.com/post/dawnmagnet/lc1074)
# 题目
<div class="notranslate"><p>给出矩阵&nbsp;<code>matrix</code>&nbsp;和目标值&n
bsp;<code>target</code>，返回元素总和等于目标值的非空子矩阵的数量。</p>
<p>子矩阵&nbsp;<code>x1, y1, x2, y2</code>&nbsp;是满足 <code>x1 &lt;= x &lt;= 
x2</code>&nbsp;且&nbsp;<code>y1 &lt;= y &lt;= 
y2</code>&nbsp;的所有单元&nbsp;<code>matrix[x][y]</code>&nbsp;的集合。</p>
<p>如果&nbsp;<code>(x1, y1, x2, y2)</code> 和&nbsp;<code>(x1', y1', x2', 
y2')</code>&nbsp;两个子矩阵中部分坐标不同（如：<code>x1 != 
x1'</code>），那么这两个子矩阵也不同。</p>
<p>&nbsp;</p>
<p><strong>示例 1：</strong></p>
<p><img style="width: 242px; height: 242px;" 
src="https://assets.leetcode.com/uploads/2020/09/02/mate1.jpg" alt=""></p>
<pre><strong>输入：</strong>matrix = [[0,1,0],[1,1,1],[0,1,0]], target = 0
<strong>输出：</strong>4
<strong>解释：</strong>四个只含 0 的 1x1 子矩阵。
</pre>
<p><strong>示例 2：</strong></p>
<pre><strong>输入：</strong>matrix = [[1,-1],[-1,1]], target = 0
<strong>输出：</strong>5
<strong>解释：</strong>两个 1x2 子矩阵，加上两个 2x1 子矩阵，再加上一个 2x2 
子矩阵。
</pre>
<p><strong>示例 3：</strong></p>
<pre><strong>输入：</strong>matrix = [[904]], target = 0
<strong>输出：</strong>0
</pre>
<p>&nbsp;</p>
<p><strong><strong>提示：</strong></strong></p>
<ul>
    <li><code>1 &lt;= matrix.length &lt;= 100</code></li>
    <li><code>1 &lt;= matrix[0].length &lt;= 100</code></li>
    <li><code>-1000 &lt;= matrix[i] &lt;= 1000</code></li>
    <li><code>-10^8 &lt;= target &lt;= 10^8</code></li>
</ul>
</div>